<?php

/**
 * Classe que representa um aluno bolsista
 * @author Sergio Lisan
 *
 */
class Aluno {

	var $id;
	var $cpf;
	var $nome;
	var $campus;
	var $estado;
	var $bolsas;

	public function __construct() {

	}

}

/**
 * Classe que representa um campus, e tem uma lista de modalidades de bolsas
 * que os alunos de determinada instancia podem obter
 *
 * @author Sergio Lisan
 *
 */
class Campus {

	var $id;
	var $nome;
	var $restricoes;

	public function __construct() {
	}

	/**
	 * Valida uma bolsa
	 * @param Bolsa $bolsa
	 * @return true se esta validade, false se for invalidada.
	 */
	public function validate($bolsa) {
		return in_array($bolsa, $restricoes);
	}
}

/**
 * Classe que representa o Estado do aluno na universidade. Cada estado possui uma serie
 * de restricoes de modalidades de bolsas e devem implementar uma funcao de validacao
 * @author sergio
 *
 */
class Estado {

	var $id;
	var $nome;
	var $restricoes;

	public function __construct() {
	}

	/**
	 * metodo de validacao que verifica se o aluno
	 * @param Bolsa $bolsa
	 * @return retorna um erro ou mensagem de sucesso
	 */
	public function validate($bolsa) {
		if (in_array($bolsa, $restricoes) )
			return false;
		else
			return true;
	}

}

